구조체에서 struct 추상 데이터 타입(ADT)으로의 여정은 추상 데이터 타입(ADT) 모든 내부 회로가 노출된 '유리 상자'에서, 사용자가 인터페이스와 구현을 분리할 수 있는 '블랙 박스'로 전환되는 것을 의미합니다. 인터페이스 는 구현를 분리함으로써 캡슐화를 보장합니다. 사용자는 read 또는 combine 수익이 어떻게 계산되거나 저장되는지 알 필요 없이 작동합니다.
1. 클래스 아키텍처
모든 클래스는 고유한 타입 식별자를 정의합니다. 두 클래스가 동일한 멤버를 공유하더라도, C++는 이를 서로 호환되지 않는 것으로 간주합니다. typedef 및 전방 선언 (예: class Screen;)을 통해 복잡한 관계를 설계하면서도 추상화를 유지할 수 있습니다. 종종 합성된 버전 의 생성자를 사용합니다. 예를 들어 Sales_data() = default;처럼 기본형의 편의성을 유지합니다 ($$total = trans;$$).
2. 비멤버 인터페이스 함수
다음과 같은 함수들은 read 는 비멤버 클래스 관련 함수입니다. 이들은 인터페이스의 일부이지만 클래스 자체가 아니며, 종종 비공개 데이터에 접근하기 위해 친구관계 를 요구합니다.
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>